import utils from '../../utils/index'

const baseURL = process.env.BASE_API
export default {
  /**
   * 获取用户openid
   * @param loginCode
   * @param callback
   */
  getOpenID (code, setOpenid) {
    wx.showLoading({title: '加载中...', mask: true})
    wx.request({
      url: baseURL + '/user/openid',
      method: 'GET',
      data: {code},
      success: res => {
        if (res.statusCode === 200) {
          setOpenid(res)
        } else {
          utils.showException()
        }
      },
      fail: (res) => {
        utils.showError(res)
        wx.hideLoading()
      }
    })
  },

  /**
   * 获取用户积分,客户端打开程序时调用，
   * 若服务端无用户openid信息则初始化用户相关信息
   * 请求方法：GET
   * @param openid 请求参数，用户openid，参数类型：String
   * 返回userScore:积分数
   * @param callback
   */
  loginUser (openId, setScore) {
    wx.showLoading({title: '加载中...', mask: true})
    wx.request({
      url: baseURL + '/user/loginUser',
      method: 'GET',
      data: {
        openId: openId
      },
      success: res => {
        if (res.statusCode === 200) {
          setScore(res)
        } else {
          utils.showException()
        }
      },
      fail: () => utils.showError(),
      complete: () => wx.hideLoading()
    })
  },

  /**
   * 更新用户昵称和头像URL
   * 请求方法：POST
   * @userInfo 请求参数，参数类型：Obeject,包括以下三个字段
   * openid 用户openid
   * nickName 用户昵称
   * avatarUrl 用户头像URL
   * 返回：随便
   * @param callback
   */
  updateUserInfo (userInfo, callback) {
    wx.request({
      url: baseURL + '/user/updateUserInfo',
      method: 'POST',
      data: {
        openId: userInfo.openid,
        name: userInfo.nickName,
        photoUrl: userInfo.avatarUrl
      }
      // success: res => {
      //   console.log('更新用户信息')
      //   console.log(res.data)
      // }
    })
  }
}
